home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / Forms / SnapshotForm.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  10.5 KB  |  307 lines

  1. package Forms
  2. {
  3.    import Common.SoundManager;
  4.    import flash.display.*;
  5.    import flash.events.*;
  6.    import flash.text.TextField;
  7.    import flash.utils.Dictionary;
  8.    
  9.    [Embed(source="/_assets/assets.swf", symbol="Forms.SnapshotForm")]
  10.    public class SnapshotForm extends CluelessBaseForm
  11.    {
  12.        
  13.       
  14.       public var _bOnline:ButtonRound;
  15.       
  16.       public var bottom:ButtonSnapshot2Bottoms;
  17.       
  18.       public var _bCompose:SimpleButton;
  19.       
  20.       protected var _nModelOffsetY:Number = 150;
  21.       
  22.       protected var _nModelOffsetX:Number = 383;
  23.       
  24.       public var _mcModelBackground:MovieClip;
  25.       
  26.       public var _tfItemName:TextField;
  27.       
  28.       protected var _csItemList:ComponentScroller;
  29.       
  30.       public var _mcSlot0:ClothingSlot;
  31.       
  32.       public var _mcSlot1:ClothingSlot;
  33.       
  34.       public var _mcSlot2:ClothingSlot;
  35.       
  36.       protected var _dSavedScrollPos:Dictionary;
  37.       
  38.       public var shoe:ButtonSnapshot3Shoes;
  39.       
  40.       protected var _aModels:Array;
  41.       
  42.       protected var _aItems:Array;
  43.       
  44.       public var accessory:ButtonSnapshot4Accessories;
  45.       
  46.       public var _bBackgrounds:SimpleButton;
  47.       
  48.       protected var _sCategory:String = null;
  49.       
  50.       public var _bNextPose:SimpleButton;
  51.       
  52.       public var _bScrollUp:ArrowTriangle;
  53.       
  54.       public var top:ButtonSnapshot1Tops;
  55.       
  56.       public var modeloptions:SimpleButton;
  57.       
  58.       public var _bScrollDown:ArrowTriangle;
  59.       
  60.       public var _bNextPoseOld:ButtonRound;
  61.       
  62.       public var _bPreviousPose:ButtonRound;
  63.       
  64.       protected var _dressupengine:DressupEngine;
  65.       
  66.       public var _bMenu:ButtonRound;
  67.       
  68.       protected var _dragcontroller:DragController;
  69.       
  70.       public function SnapshotForm()
  71.       {
  72.          var _loc1_:PartTemplate = null;
  73.          var _loc2_:Array = null;
  74.          var _loc3_:int = 0;
  75.          _nModelOffsetX = 383;
  76.          _nModelOffsetY = 150;
  77.          _csItemList = new ComponentScroller();
  78.          _aItems = new Array();
  79.          _sCategory = null;
  80.          _dSavedScrollPos = new Dictionary();
  81.          _dragcontroller = new DragController();
  82.          super();
  83.          _aModels = Model.extractFromStage(this);
  84.          _dragcontroller.setDragable(_aModels[0]);
  85.          _bNextPose.addEventListener(MouseEvent.CLICK,onNextPose,false,0,true);
  86.          _bPreviousPose.addEventListener(MouseEvent.CLICK,onPreviousPose,false,0,true);
  87.          this.getChildByName("_bMenu").addEventListener(MouseEvent.CLICK,onMenu,false,0,true);
  88.          this.getChildByName("top").addEventListener(MouseEvent.CLICK,onCategory,false,0,true);
  89.          this.getChildByName("bottom").addEventListener(MouseEvent.CLICK,onCategory,false,0,true);
  90.          this.getChildByName("shoe").addEventListener(MouseEvent.CLICK,onCategory,false,0,true);
  91.          this.getChildByName("accessory").addEventListener(MouseEvent.CLICK,onCategory,false,0,true);
  92.          this.getChildByName("modeloptions").addEventListener(MouseEvent.CLICK,onCategory,false,0,true);
  93.          this.getChildByName("_bBackgrounds").addEventListener(MouseEvent.CLICK,onBackgrounds,false,0,true);
  94.          this.getChildByName("_bCompose").addEventListener(MouseEvent.CLICK,onCompose,false,0,true);
  95.          this.getChildByName("_mcSlot0").addEventListener(MouseEvent.CLICK,onSlot,false,0,true);
  96.          this.getChildByName("_mcSlot1").addEventListener(MouseEvent.CLICK,onSlot,false,0,true);
  97.          this.getChildByName("_mcSlot2").addEventListener(MouseEvent.CLICK,onSlot,false,0,true);
  98.          _csItemList.addSlot(_mcSlot0);
  99.          _csItemList.addSlot(_mcSlot1);
  100.          _csItemList.addSlot(_mcSlot2);
  101.          _csItemList.setScrollButtons(_bScrollUp,_bScrollDown,this);
  102.          setCategory("top");
  103.          _loc2_ = new Array();
  104.          _loc2_.push(_mcSlot0);
  105.          _loc2_.push(_mcSlot1);
  106.          _loc2_.push(_mcSlot2);
  107.          _dressupengine = new DressupEngine(this,_loc2_,_aModels);
  108.          _dressupengine.DebugText = _tfItemName;
  109.          _dressupengine.Pickup = false;
  110.          for each(_loc1_ in MainDocument.Package.Templates)
  111.          {
  112.             if(_loc1_.Category == "body")
  113.             {
  114.                _aModels[0].addPart(_loc1_.createPart());
  115.                break;
  116.             }
  117.          }
  118.          for each(_loc1_ in MainDocument.Package.Templates)
  119.          {
  120.             if(_loc1_.Category == "bra")
  121.             {
  122.                _aModels[0].addPart(_loc1_.createPart());
  123.                break;
  124.             }
  125.          }
  126.          _loc3_ = (MainDocument.BackgroundPackage.Images.length - 1) * Math.random();
  127.          if(SkipBackground(MainDocument.BackgroundPackage.Names[_loc3_]))
  128.          {
  129.             _loc3_++;
  130.          }
  131.          setModelBackground(MainDocument.BackgroundPackage.Images[_loc3_]);
  132.          _mcModelBackground.x = -_nModelOffsetX + _aModels[0].x;
  133.          _mcModelBackground.y = -_nModelOffsetY + _aModels[0].y;
  134.       }
  135.       
  136.       protected function SkipBackground(param1:String) : Boolean
  137.       {
  138.          switch(param1)
  139.          {
  140.             case "Jeep":
  141.             case "Mall":
  142.                return true;
  143.             default:
  144.                return false;
  145.          }
  146.       }
  147.       
  148.       protected function setModelBackground(param1:Bitmap) : void
  149.       {
  150.          while(_mcModelBackground.numChildren > 0)
  151.          {
  152.             _mcModelBackground.removeChildAt(0);
  153.          }
  154.          _mcModelBackground.addChild(param1);
  155.       }
  156.       
  157.       protected function onSlot(param1:MouseEvent) : void
  158.       {
  159.          var _loc2_:MovieClip = null;
  160.          var _loc3_:int = 0;
  161.          var _loc4_:Bitmap = null;
  162.          _loc2_ = param1.currentTarget as MovieClip;
  163.          if(_aItems.length > 0)
  164.          {
  165.             if(!(_aItems[0] is Part))
  166.             {
  167.                _loc3_ = 0;
  168.                while(_loc3_ < _loc2_.numChildren)
  169.                {
  170.                   if(_loc2_.getChildAt(_loc3_) is Bitmap)
  171.                   {
  172.                      _loc4_ = _loc2_.getChildAt(_loc3_) as Bitmap;
  173.                      setModelBackground(new Bitmap(_loc4_.bitmapData));
  174.                      return;
  175.                   }
  176.                   _loc3_++;
  177.                }
  178.             }
  179.          }
  180.       }
  181.       
  182.       protected function onCompose(param1:MouseEvent) : void
  183.       {
  184.          var _loc2_:ComposeForm = null;
  185.          var _loc3_:Bitmap = null;
  186.          var _loc4_:Model = null;
  187.          _loc2_ = new ComposeForm();
  188.          _loc3_ = _mcModelBackground.getChildAt(0) as Bitmap;
  189.          _loc2_.setBackground(new Bitmap(_loc3_.bitmapData));
  190.          (_loc4_ = new Model()).clone(this._aModels[0]);
  191.          _loc4_.setPose(_aModels[0].getPose());
  192.          _loc4_.x = _nModelOffsetX;
  193.          _loc4_.y = _nModelOffsetY;
  194.          _loc2_.addModel(_loc4_);
  195.          setForm(_loc2_);
  196.       }
  197.       
  198.       protected function onNextPose(param1:MouseEvent) : void
  199.       {
  200.          var _loc2_:Model = null;
  201.          _loc2_ = _aModels[0] as Model;
  202.          _loc2_.setPose(ModelPose.getNextPose(_loc2_.getPose()));
  203.          SoundManager.getInstance().playSound("ChangePoseSound");
  204.       }
  205.       
  206.       protected function setCategory(param1:String) : void
  207.       {
  208.          var _loc2_:Part = null;
  209.          var _loc3_:PartTemplate = null;
  210.          var _loc4_:int = 0;
  211.          if(_sCategory != null)
  212.          {
  213.             _dSavedScrollPos[_sCategory] = _csItemList.ScrollPos;
  214.          }
  215.          _sCategory = param1;
  216.          _aItems = new Array();
  217.          for each(_loc3_ in MainDocument.Package.Templates)
  218.          {
  219.             if(Profile.CurrentProfile.isItemUnlocked(_loc3_.Name))
  220.             {
  221.                if(_sCategory == "modeloptions")
  222.                {
  223.                   if(_loc3_.Category == "head" || _loc3_.Category == "body")
  224.                   {
  225.                      if(!(_loc3_.Name == "undressed_model_black2" || _loc3_.Name == "undressed_model_caucasian4"))
  226.                      {
  227.                         _loc2_ = _loc3_.createPart();
  228.                         _loc2_.ResizePart(_mcSlot0.width);
  229.                         _aItems.push(_loc2_);
  230.                      }
  231.                   }
  232.                }
  233.                else if(_sCategory == "top")
  234.                {
  235.                   if(_loc3_.Category == "top" || _loc3_.Category == "dress")
  236.                   {
  237.                      _loc2_ = _loc3_.createPart();
  238.                      _loc2_.ResizePart(_mcSlot0.width);
  239.                      _aItems.push(_loc2_);
  240.                   }
  241.                }
  242.                else if(_loc3_.Category == _sCategory)
  243.                {
  244.                   _loc2_ = _loc3_.createPart();
  245.                   _loc2_.ResizePart(_mcSlot0.width);
  246.                   _aItems.push(_loc2_);
  247.                }
  248.             }
  249.          }
  250.          _loc4_ = 0;
  251.          if(_dSavedScrollPos[_sCategory] != null)
  252.          {
  253.             _loc4_ = int(_dSavedScrollPos[_sCategory]);
  254.          }
  255.          _csItemList.setItems(_aItems,_loc4_);
  256.          _csItemList.update();
  257.       }
  258.       
  259.       protected function onBackgrounds(param1:MouseEvent) : void
  260.       {
  261.          var _loc2_:int = 0;
  262.          var _loc3_:Bitmap = null;
  263.          _aItems = new Array();
  264.          _loc2_ = 0;
  265.          while(_loc2_ < MainDocument.BackgroundPackage.Names.length)
  266.          {
  267.             if(!SkipBackground(MainDocument.BackgroundPackage.Names[_loc2_]))
  268.             {
  269.                _loc3_ = new Bitmap(MainDocument.BackgroundPackage.Images[_loc2_].bitmapData);
  270.                _loc3_.width = _mcSlot1.width * 0.8;
  271.                _loc3_.height = _mcSlot1.height * 0.8;
  272.                _loc3_.name = MainDocument.BackgroundPackage.Names[_loc2_];
  273.                _aItems.push(_loc3_);
  274.             }
  275.             _loc2_++;
  276.          }
  277.          _csItemList.setItems(_aItems);
  278.          _csItemList.update();
  279.       }
  280.       
  281.       protected function onPreviousPose(param1:MouseEvent) : void
  282.       {
  283.          var _loc2_:Model = null;
  284.          _loc2_ = _aModels[0] as Model;
  285.          _loc2_.setPose(ModelPose.getPreviousPose(_loc2_.getPose()));
  286.          SoundManager.getInstance().playSound("ChangePoseSound");
  287.       }
  288.       
  289.       protected function onMenu(param1:MouseEvent) : void
  290.       {
  291.          exitForm();
  292.       }
  293.       
  294.       public function setModel(param1:Model) : void
  295.       {
  296.          _aModels[0].clone(param1);
  297.       }
  298.       
  299.       protected function onCategory(param1:MouseEvent) : void
  300.       {
  301.          var _loc2_:String = null;
  302.          _loc2_ = String(param1.target.name);
  303.          setCategory(_loc2_);
  304.       }
  305.    }
  306. }
  307.